<?php
// 如何在一个php中引入另一个php?
@include_once("conn.php");


if (!(isset($_POST["user"]) && isset($_POST["gid"]) && isset($_POST["buy"]))) {
    exit('{"status":false,"message":"请传入完整参数"}');
}


$user = $_POST["user"];
$gid = $_POST["gid"];
$buy = $_POST["buy"];


$obj = array();

$sql = "select * from `shoppingcar` where user='$user' and gid = $gid";
$result = mysqli_query($conn, $sql);


$obj = array();
if ($result) { // 有结果对象 => 可能有数据
    $item = mysqli_fetch_assoc($result);
    // print_r($item === null);

    if ($item) { // 有 =>买过 => 更新数量
        $sql = "update `shoppingcar` set buy_num = buy_num + $buy where user='$user' and gid = $gid";
    } else { // 没有 => 没买过 => 就新增
        $sql = "insert into `shoppingcar`(user,gid,buy_num) values('$user',$gid,$buy)";
    }

    $result = mysqli_query($conn, $sql);
    // echo $result;
    if ($result) { // true => 语句执行成功

        // 语句执行成功 => 没有错误 => 并不一定会影响数据  => 判断受影响的行数
        // $rows = mysqli_affected_rows($conn);  返回语句执行成功之后 受影响的函数
        // rows > 0 增删改成功
        // rows = 0 语句执行成功,数据未改变 (删除的数据不存在 更新的数据不存在 更新的数据和原数据一致)
        // rows = -1 语句执行失败

        $rows = mysqli_affected_rows($conn);

        if ($rows > 0) {
            $obj["status"] = true;
            $obj["message"] = "购买成功";
        } else {
            $obj["status"] = false;
            $obj["message"] = "购买失败";
        }
    } else {
        $obj["status"] = false;
        $obj["message"] = "sql语句有误";
        $obj["sql"] = $sql;
    }
} else {
    $obj["status"] = false;
    $obj["message"] = "sql语句有误";
    $obj["sql"] = $sql;
}

echo json_encode($obj);
